home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / Tool Chest / Development Platforms / MPW Related / MPW Interfaces / CIncludes / Power.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-09-17  |  2.3 KB  |  124 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Power.h
  3.  
  4.     Copyright:    © 1983-1993 by Apple Computer, Inc.
  5.                 All rights reserved.
  6.  
  7.     Version:    System 7.1 for ETO #11
  8.     Created:    Tuesday, March 30, 1993 18:00
  9.  
  10. */
  11.  
  12. #ifndef __POWER__
  13. #define __POWER__
  14.  
  15. #ifndef __TYPES__
  16. #include <Types.h>
  17. #endif
  18.  
  19.  
  20. enum {
  21.  
  22.  
  23. /* Bit positions for ModemByte */
  24.  modemOnBit = 0,
  25.  ringWakeUpBit = 2,
  26.  modemInstalledBit = 3,
  27.  ringDetectBit = 4,
  28.  modemOnHookBit = 5,
  29.  
  30. /* masks for ModemByte */
  31.  modemOnMask = 0x1,
  32.  ringWakeUpMask = 0x4,
  33.  modemInstalledMask = 0x8,
  34.  ringDetectMask = 0x10,
  35.  modemOnHookMask = 0x20,
  36.  
  37. /* bit positions for BatteryByte */
  38.  chargerConnBit = 0,
  39.  hiChargeBit = 1,
  40.  chargeOverFlowBit = 2,
  41.  batteryDeadBit = 3,
  42.  batteryLowBit = 4,
  43.  connChangedBit = 5,
  44.  
  45. /* masks for BatteryByte */
  46.  chargerConnMask = 0x1,
  47.  hiChargeMask = 0x2,
  48.  chargeOverFlowMask = 0x4,
  49.  batteryDeadMask = 0x8
  50. };
  51. enum {
  52.  batteryLowMask = 0x10,
  53.  connChangedMask = 0x20,
  54.  
  55. /* commands to SleepQRec sleepQProc */
  56.  sleepRequest = 1,
  57.  sleepDemand = 2,
  58.  sleepWakeUp = 3,
  59.  sleepRevoke = 4,
  60.  
  61. /* SleepQRec.sleepQFlags */
  62.  noCalls = 1,
  63.  noRequest = 2,
  64.  
  65.  slpQType = 16,
  66.  sleepQType = 16
  67. };
  68.  
  69. typedef char ModemByte;
  70. typedef char BatteryByte;
  71.  
  72. typedef long PMResultCode;
  73.  
  74. struct SleepQRec {
  75.  struct SleepQRec *sleepQLink;
  76.  short sleepQType;        /*type = 16*/
  77.  ProcPtr sleepQProc;    /*Pointer to sleep routine*/
  78.  short sleepQFlags;
  79. };
  80.  
  81. typedef struct SleepQRec SleepQRec;
  82. typedef SleepQRec *SleepQRecPtr;
  83.  
  84.  
  85. #ifdef __cplusplus
  86. extern "C" {
  87. #endif
  88. pascal OSErr DisableWUTime(void); 
  89. pascal OSErr GetWUTime(long *WUTime,Byte *WUFlag); 
  90. pascal OSErr SetWUTime(long WUTime); 
  91. pascal OSErr BatteryStatus(Byte *Status,Byte *Power); 
  92. pascal OSErr ModemStatus(Byte *Status); 
  93. #pragma parameter __D0 IdleUpdate
  94. pascal long IdleUpdate(void)
  95.  = 0xA285; 
  96. #pragma parameter __D0 GetCPUSpeed
  97. pascal long GetCPUSpeed(void)
  98.  = {0x70FF,0xA485}; 
  99. pascal void EnableIdle(void)
  100.  = {0x7000,0xA485}; 
  101. pascal void DisableIdle(void)
  102.  = {0x7001,0xA485}; 
  103. #pragma parameter SleepQInstall(__A0)
  104. pascal void SleepQInstall(SleepQRecPtr qRecPtr)
  105.  = 0xA28A; 
  106. #pragma parameter SleepQRemove(__A0)
  107. pascal void SleepQRemove(SleepQRecPtr qRecPtr)
  108.  = 0xA48A; 
  109. pascal void AOn(void)
  110.  = {0x7004,0xA685}; 
  111. pascal void AOnIgnoreModem(void)
  112.  = {0x7005,0xA685}; 
  113. pascal void BOn(void)
  114.  = {0x7000,0xA685}; 
  115. pascal void AOff(void)
  116.  = {0x7084,0xA685}; 
  117. pascal void BOff(void)
  118.  = {0x7080,0xA685}; 
  119. #ifdef __cplusplus
  120. }
  121. #endif
  122.  
  123. #endif
  124.